package com.photoeditor.demo.ui.widget.collage;

import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.Path;
import android.graphics.RectF;
import android.graphics.Region;

import com.photoeditor.demo.model.bean.BitmapBean;
import com.photoeditor.demo.model.image.collage.templet.CollagePoints;
import com.photoeditor.demo.model.image.collage.templet.attr.IStatus;
import com.photoeditor.demo.model.image.collage.util.CollageGestureRecognizer;


/**
 * Created by winn on 17/4/18.
 */

public interface ICollagePathView extends CollageGestureRecognizer.Listener {

    void translateWidthPreAttr(float dx, float dy);

    float[] translateWidthoutPreAttr(float dx, float dy);

    Region getRegion();

    void setIsTouch(boolean istouch);

    Path getPath();

    void setData(RectF rectF, Path path, RectF currentRect, RectF outSideRect, CollagePoints collage, IStatus preAttr);

    void updateData(RectF rectF, Path path, RectF currentRect, RectF outSideRect, CollagePoints collage, IStatus preAttr);

    void setIsInChange(boolean isInChange);

    boolean isInChange();

    void setSourceBitmap(Bitmap bitmap);

    void setBitmapBean(BitmapBean bitmapBean);

    Bitmap getCurrentBitmap(int alpha);

    void setVideoPath(String string);

    void onDestory();

    void onResume();

    void onPause();

    /**
     * 设置当前View显示的RectF,选中边界
     *
     * @param currentRect
     * @param outSideRect
     */
    void setCurrentRect(RectF currentRect, RectF outSideRect);

    CollagePoints getCollage();

    RectF getDefaultRect();

    void setPath(Path path);

    void resetBound();

    void refresh();

    float getTranslateX();

    float getTranslateY();

    Bitmap getSourceBitmap(long timestamp);

    Matrix getDrawMatrix();

    RectF getCurrentRect();

    boolean isNeedEnsureRect(float data[]);

    boolean isTouch();

    BitmapBean getBitmapBean();

    void setFilterBitmap(Bitmap bitmap);

    void flip(boolean horizontal);

    void rotation(int degree);
}
